草庐IT

python argparse -- 自定义错误信息

全部标签

ruby - 在 Ruby 中,为什么在启动 irb 之后出现 foo.nil?说未定义的错误,@foo.nil?给出 "true"和 @@wah.nil?又报错了?

在Ruby1.8.7和1.9.2中相同:$irbruby-1.8.7-p302>foo.nil?NameError:undefinedlocalvariableormethod`foo'for#from(irb):1ruby-1.8.7-p302>@bar.nil?=>trueruby-1.8.7-p302>@@wah.nil?NameError:uninitializedclassvariable@@wahinObjectfrom(irb):3为什么实例变量与局部变量和类变量的处理方式不同? 最佳答案 在Ruby中,大多数未初始化

ruby - Rspec 模拟错误 : wrong number of arguments

我正在尝试使用Rspec对StripeAPI进行stub,但我遇到了一个问题。这是我的代码的样子:Stripe::Customer.should_receive(:create).with(any_args).and_raise(Stripe::CardError)这是我遇到的错误:Failure/Error:Stripe::Customer.should_receive(:create).with(any_args).and_raise(Stripe::CardError)ArgumentError:wrongnumberofarguments(0for3..6)

ruby-on-rails - 模拟 rspec 中的错误/异常(不仅仅是它的类型)

我有一段代码是这样的:defsome_methodbegindo_some_stuffrescueWWW::Mechanize::ResponseCodeError=>eife.response_code.to_i==503handle_the_situationendendend我想测试ife.response_code.to_i==503部分发生了什么。我可以模拟do_some_stuff以抛出正确类型的异常:whatever.should_receive(:do_some_stuff).and_raise(WWW::Mechanize::ResponseCodeError)但是我

ruby-on-rails - 在 Ruby 中返回 true 或错误消息

我想知道编写这样的函数是好的还是坏的形式。deftest(x)ifx==1returntrueelsereturn"Error:xisnotequaltoone."endend然后为了使用它,我们做这样的事情:result=test(1)ifresult!=trueputsresultendresult=test(2)ifresult!=trueputsresultend它只显示第二次调用测试的错误消息。我正在考虑这样做,因为在一个Rails项目中,我在我的Controller代码中工作,我调用模型的实例方法,如果出现问题,我希望模型将错误消息返回给Controller和Control

ruby-on-rails - 工厂女孩在构建/创建时将参数传递给模型定义

模型/message.rbclassMessageattr_reader:bundle_id,:order_id,:order_number,:eventdefinitialize(message)hash=message@bundle_id=hash[:payload][:bundle_id]@order_id=hash[:payload][:order_id]@order_number=hash[:payload][:order_number]@event=hash[:concern]endend规范/模型/message_spec.rbrequire'spec_helper'de

Ruby:在另一个方法中定义一个方法有什么实际用途吗?

我正在阅读一篇关于元编程的文章,它表明您可以在另一个方法中定义一个方法。这是我早就知道的事情,但它让我问自己一个问题:这有什么实际应用吗?在方法中定义方法是否有实际用途?例如:defouter_methoddefinner_method#...end#...end 最佳答案 我最喜欢的元编程示例是动态构建一个您将在循环中使用的方法。例如,我有一个用Ruby编写的查询引擎,其中一项操作是过滤。有许多不同形式的过滤器(子字符串、等于、=、交集等)。天真的做法是这样的:defprocess_filter(working_set,filte

ruby-on-rails - main :Object 的未定义方法复数

我正在尝试在我的控制台中测试一个方法,但即使是基本的复数-pluralize(1,'person')不会工作..输出:NoMethodError:undefinedmethod'pluralize'formain:Objectfrom(pry):42:in''但是helper.method(:pluralize)告诉我:Method:ActionView::Base(ActionView::Helpers::TextHelper)#pluralize我错过了什么? 最佳答案 控制台中默认不包含助手。您可以先包含它们,它会起作用:>>

ruby-on-rails - 处理超时错误

使用超时后:status=Timeout::timeout(5){#Somethingthatshouldbeinterruptedifittakestoomuchtime...}我收到这个超时错误:/Users/galharth/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/net/http.rb:644:in`initialize':executionexpired(Timeout::Error)from/Users/galharth/.rvm/rubies/ruby-1.9.2-p136/lib/ruby/1.9.1/net/http.rb

ruby-on-rails - Capistrano::Configuration:Class 的未定义方法 `instance'

我正在尝试在Rails应用程序中首次启动并运行Capistrano。我有一台运行Ubuntu12.04、nginx、unicorn和rails的linux服务器,但是,我似乎遇到了一些问题。我还使用RVM使用Capistrano3.0.0、rails3.2.14、bundler1.4.0和ruby​​1.9.3p448。我只设置了一个生产阶段,此时我只关心Capistrano与我的服务器通信并从github推送我的代码(目前还没有迁移和捆绑等)。当我使用下面的设置尝试命令capproductiondeploy:check或capproductiondeploy:setup(这似乎已被弃

ruby - 安装 ruby​​racer 时出现错误 "invalid gem: package is corrupt"

尝试在OSX10.9上安装therubyracer时,使用以下命令:$geminstalltherubyracer-v'0.12.0'我得到错误:ERROR:Errorinstallingtherubyracer:invalidgem:packageiscorrupt,exceptionwhileverifying:undefinedmethod`path2class'for#(NoMethodError)in/Users/doved/.rvm/gems/ruby-2.0.0-p353/cache/therubyracer-0.12.0.gemXCode开发者工具已安装,我已尝试删除缓